<?php
// +----------------------------------------------------------------------
// | HkCms 用户验证规则
// +----------------------------------------------------------------------
// | Copyright (c) 2012-2019 http://www.hkcms.cn, All rights reserved.
// +----------------------------------------------------------------------
// | Author: 广州恒企教育科技有限公司 <admin@hkcms.cn>
// +----------------------------------------------------------------------

namespace app\content\validate;

use think\Validate;

class Category extends Validate
{
    protected $rule = [
        'catname' => 'require|max:25',
        // 'catdir' => 'require|checkCatdir',
        // 'catdir' => 'require|unique:category',
        'catdir' => 'require|max:25',
        'setting' => 'checkSetting',
        'type' => 'in:0,1,2',
    ];

    protected $message  =   [
        'catname.require' => '栏目名称不能为空！',
        'catdir.require' => '英文目录不能为空！',
        'catname.max' => '栏目名称太长',
        'catdir.max' => '英文目录太长！',
        // 'catdir.checkCatdir' => '目录名称已存在！',
        'catdir.unique' => '目录名称已存在！',
        'setting.checkSetting' => 'Setting配置信息有误！',
        'modelid.unique' => '所属模型不能为空！',
    ];

    /**
     * 验证setting配置信息
     * @param type $setting
     * @return boolean
     */
    protected  function checkSetting($setting, $type = "") {
        $type = $type ? $type : (int)input('type');
        if ($type == 2) {
            return true;
        }
        if (!$setting) {
            return true;
        }
        $setting = unserialize($setting);
        if ((!$setting['category_ruleid'] || !$setting['category_ruleid']) && (int)$type != 2) {
            return false;
        }
        return true;
    }

    /**
     * 检查目录是否存在
     * @param type $catdir 栏目目录
     * @param type $catid 栏目ID
     * @param type $parentid 父栏目ID
     * @param type $old_catdir 原来的栏目目录
     * @param type $type 栏目类型
     * @return boolean
     */
    // protected function checkCatdir($catdir, $catid = 0, $parentid = 0, $old_catdir = false, $type = false) {
    //     return true;
    // }

}


   // array('catname', 'require', '栏目名称不能为空！', 1, 'regex', 3),
   //      array('catdir', 'require', '英文目录不能为空！', 1, 'regex', 3),
   //      array('catdir', 'checkCatdir', '目录名称已存在！', 1, 'callback', 1),
   //      array('setting', 'checkSetting', 'Setting配置信息有误！', 1, 'callback', 1),
   //      //验证栏目类型
   //      array('type', array(0, 1, 2), '栏目类型错误！', 1, 'in', 3)